package com.marvels.approve.consum;

import com.marvels.approve.loan.dto.*;
import com.marvels.approve.process.dto.*;
import com.marvels.common.dto.MarvelsResultDTO;

import java.util.List;

public interface ApproveConsumerProductApi {
	
	public CascadeChannelDto mcptChannelInfo(McptChannelDto mcptChannelDto);
	
	
	public List<McptChannelDto> mcptChannelAllInfo(McptChannelDto mcptChannelDto);
	
	
	public List<McptProductType> mcptProductTypeInfo(McptProductType productType);
	
	/**
	 * 根据产品小类code查询咨询费信息
	 * @param consultingFeeCode
	 * @return
	 */
	public McptConsultingFeeDTO mcptConsultingFeeDTO(McptProduct mcptProduct);
	
	
	
	/**
	 * 查询产品映射资金源信息
	 * @param consultingFeeCode
	 * @return
	 */
	public List<McptProductFundRelationDto> selectProductFundRelation(McptProductFundRelationDto fundRelationDto);
	
	
	
	/**
	 * 根据客户类型id查询认定客户类型参数
	 * @param consultingFeeCode
	 * @return
	 */
	public McptCustomerTypeParamDTO selectTypeById(McptCustomerTypeParamDTO customerTypeParamDTO);
	
	
	/**
	 * 查询所有认定客户类型参数
	 * @param consultingFeeCode
	 * @return
	 */
	public List<McptCustomerTypeParamDTO> selectAllType();
	
	
	
	
	/**
	 * 查询所有认定客户类型参数
	 * @param consultingFeeCode
	 * @return
	 */
	public McptManagementFeeDTO selectManagementFeeByProductInfo(McptProduct product);
	
	
	
	
	/**
	 * 查询所有认定客户类型参数
	 * @param consultingFeeCode
	 * @return
	 */
	public List<McptProductMappedDto> selectProductMappedInfo(McptProductMappedDto product);
	

	/**查询产品大类
	 * @author 娄凯琦
	 * @date 2018年9月21日  
	 * @param decisionMsgDTO
	 * @return
	 */
	public MarvelsResultDTO searchProduct(McptProductTypeDto mcptProducTypeDto);
	
	/**
	 * 查询产品小类
	 * */
	public MarvelsResultDTO searchByParams(McptProductMappedDto mapped);
}
